package com.stella.ieproductivitybackend.service;

import com.stella.ieproductivitybackend.entity.*;

import java.util.List;
import java.util.Map;

/**
 * 品牌类型页服务层接口
 */
public interface TypeService {
    /**
     * 品牌类型列表
     */
    List<String> getTypeList();

    /**
     * 工厂列表
     */
    List<Factory> getFactoryList(String type);

    /**
     * 品牌列表
     */
    List<Brand> getBrandList(String type);

    /**
     * 型体数量
     */
    Integer getModelCount(String type);

    /**
     * 型体列表
     */
    List<Model> getModelList(String type);

    /**
     * 搜索型体
     */
    List<Model> searchModel(String type, String model);

    /**
     * 纯粹达成率图表
     */
    Map<String, Object> getPureChart(String type);

    /**
     * 纯粹达成率详情
     */
    Map<String, Map<String, Map<String, Map<String, Integer>>>> getPureDetail(String type);

    /**
     * 入库标准秒值图表
     */
    Map<String, Object> getWarehousingChart(String type);

    /**
     * 入库标准秒值图表详情
     */
    Map<String, List<Warehousing>> getWarehousingInfo(String type);

    /**
     * 入库标准秒值其他数据
     */
    Map<String, Object> getWarehousingOther(String type);

    /**
     * 入库标准秒值详情
     */
    List<Warehousing> getWarehousingDetail(String type, String factory, String year);

    /**
     * 入库标准秒值对比
     */
    List<Warehousing> getWarehousingCompare(String type, String factory1, String year1, String month1, String factory2, String year2, String month2);

    /**
     * 入库数量图表
     */
    Map<String, Object> getQuantityChart(String type);

    /**
     * 入库数量详情
     */
    Map<String, List<Quantity>> getQuantityDetail(String type);

    /**
     * 直工 PPH 选项
     */
    Map<String, Object> getDirectOption(String type);

    /**
     * 直工 PPH 详情
     */
    List<DirectPPH> getDirectPPH(String type, String factory, String year, String month, String model, String operation);
}
